<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">


<ui:composition template="/templates/templateAdmin.xhtml">
	<ui:define name="conteudo">
		<h:form>
	
			<p:dataTable var="diretor" id="listardiretor" value="#{mBDiretor.diretores}"
				emptyMessage="Não há diretores cadastrados" rows="10" rendered="#{!mBDiretor.vizualizavel}" paginator="true">
				<p:column filterBy="#{diretor.usuario.matricula}" filterMatchMode="contains">
					<f:facet name="header">
						Matricula
					</f:facet>
					<p:commandLink value="#{diretor.usuario.matricula}" oncomplete="diretorDialog.show()" update="@form"> 
						<f:setPropertyActionListener target="#{mBDiretor.diretorVisualizacao}" value="#{diretor}"/>
					</p:commandLink>
				</p:column >
				<p:column filterBy="#{diretor.usuario.nome}" filterMatchMode="contains">
					<f:facet name="header">
						Nome
					</f:facet>
					<h:outputText value="#{diretor.usuario.nome}" />
				</p:column>
				<p:column>
					<f:facet name="header">
						Operações
					</f:facet>
					<p:commandButton value="Editar" ajax="false" action="#{mBDiretor.irEditar}">
						<f:setPropertyActionListener target="#{mBDiretor.diretor}"
							value="#{diretor}" />
					</p:commandButton>
					<p:commandButton value="Excluir" oncomplete="confirmation.show()">
						<f:setPropertyActionListener target="#{mBDiretor.diretor}"
							value="#{diretor}" />
					</p:commandButton>
					
					
					<p:confirmDialog id="confirmDialog"
						message="Tem certeza que deseja excluir o diretor?" header="Warning"
						severity="alert" widgetVar="confirmation">

						<p:commandButton id="confirm" value="Sim"
							oncomplete="confirmation.hide()"
							action="#{mBDiretor.excluir}" ajax="false"/>
						
						<p:commandButton id="decline" value="Não"
							oncomplete="confirmation.hide()" action="#{mBDiretor.limpar}"/>

					</p:confirmDialog>

				</p:column>
			</p:dataTable>
			<p:dialog widgetVar="diretorDialog">
				<ui:include src="../../comum/diretor.xhtml">
					<ui:param name="diretor" value="#{mBDiretor.diretorVisualizacao}"/>
				</ui:include>
			</p:dialog>
		</h:form>
		
		
			
		
			<h:form id="professor">
				<h:outputText value="Escolher Professor (Opcional)" />
					<p:commandButton value="..." oncomplete="professorDialog.show()">
					</p:commandButton>	
			<p:dialog widgetVar="professorDialog">
				<p:dataTable var="professor" value="#{mBProfessor.professores}" paginator="true" rows="15">
				<p:column headerText="Nome" filterBy="#{professor.usuario.nome}" filterMatchMode="contains">
					<h:outputText value="#{professor.usuario.nome}" />
				</p:column>
				
				<p:column headerText="CPF" filterBy="#{professor.usuario.cpf}" filterMatchMode="contains">
					<h:outputText value="#{professor.usuario.cpf}" />
				</p:column>
				
				<p:column headerText="Email" filterBy="#{professor.usuario.email}" filterMatchMode="contains">
					<h:outputText value="#{professor.email}" />
				</p:column>
				
				<p:column headerText="Escolher">
					<p:commandButton value="Escolher" ajax="false">
						<f:setPropertyActionListener target="#{mBDiretor.diretor.usuario}" value="#{professor.usuario}" />
					</p:commandButton>
				</p:column>
				
				
			</p:dataTable>
			</p:dialog>	
			</h:form>
			
			<h:form id="formulario">
			<p:panel header="Diretor" rendered="#{!mBDiretor.vizualizavel}">
			
				<h:panelGrid columns="2" id="painelgrid">
					
					<h:outputLabel value="Nome*:" />
					<p:inputText value="#{mBDiretor.diretor.usuario.nome}" size="50" required="true" requiredMessage="Inisira o nome"/>

					<h:outputLabel value="CPF*:" />
					<p:inputMask mask="999.999.999-99" value="#{mBDiretor.diretor.usuario.cpf}" required="true" requiredMessage="Insira o CPF" size="10"/>

					<h:outputLabel value="Email*:" />
					<p:inputText value="#{mBDiretor.diretor.usuario.email}" size="40" validatorMessage="Email inválido" required="true" requiredMessage="Inisira o email">
						<f:validateRegex
								pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
					</p:inputText>

										

					<h:outputLabel value="Senha:"
						rendered="#{(!mBDiretor.editavel) and (mBDiretor.diretor.usuario.id == null)}" />
					<p:password rendered="#{(!mBDiretor.editavel) and (mBDiretor.diretor.usuario.id == null)}"
						value="#{mBDiretor.diretor.usuario.senha}" required="true" requiredMessage="Inisira a senha"/>
					<h:outputLabel rendered="#{(!mBDiretor.editavel) and (mBDiretor.diretor.usuario.id == null)}"
						value="Repetir Senha:" />
					<p:password rendered="#{(!mBDiretor.editavel) and (mBDiretor.diretor.usuario.id == null)}"
						value="#{mBDiretor.senhaRepetida}" required="true" requiredMessage="Inisira a senha repetida"/>
			
					<h:outputLabel value="Escola:" />
					<p:autoComplete size="40" dropdown="true" value="#{mBDiretor.escola}" completeMethod="#{mBEscola.complete}" required="true" requiredMessage="Escolha uma das escolas listadas" forceSelection="true"/>
					
				</h:panelGrid>
					<h:panelGroup rendered="#{!mBDiretor.editavel}">
						<p:commandButton value="Cadastrar" ajax="false"
							action="#{mBDiretor.cadastrar}" />
						<p:commandButton value="Cancelar" ajax="false" />
					</h:panelGroup>
					<h:panelGroup rendered="#{mBDiretor.editavel}">
						<p:commandButton value="Editar" ajax="false"
							action="#{mBDiretor.editar}" />
						<p:commandButton value="Cancelar" onclick="form.reset()" ajax="false"
							action="#{mBDiretor.limpar}" />
					</h:panelGroup>
				</p:panel>
				
				
				
			</h:form>
		
	</ui:define>
</ui:composition>
</html>